/*
 * @Descripttion: 
 * @Author: liuYaoYu
 * @Date: 2021-12-06 15:29:26
 * @LastEditors: liuYaoYu
 * @LastEditTime: 2021-12-06 16:04:13
 */
package main
import (
	"fmt"
)
func main(){
	//[0000 0010]//2
	//[0000 0011]//3
	// 这个规则是两个都为1 才取 1否则就是0
	fmt.Println(2&3) // [0000 0010]
	// | 这个规则是有一个为1 就拿1
	fmt.Println(2|3)//[0000 0011]
	//  ^ 就是 不一样就拿一
	fmt.Println(2^3)//[0000 0001]
	// 负数
	fmt.Println(-2^3)//-3
	// 规则 有一个不为1 就是1 
	// [1000 0010] ==> [1111 1101] ==>[1111 1110]
	// [1111 1110] -2的补码
	// [0000 0011] 3的补码
	// [1111 1101] 反码 [1111 1101] == [1000 0010]源码就是 -3
}